package com.liveneo.adapter.mobile.service;

import java.text.ParseException;
import com.liveneo.adapter.mobile.model.BaseResponse;
import com.liveneo.adapter.mobile.model.request.LoginRequest;
import com.liveneo.adapter.mobile.model.request.RegisterUserRequest;
import com.liveneo.adapter.mobile.model.response.LoginResponse;
import com.liveneo.system.base.utils.AppException;

/** 移动端用户服务类接口
 * @author wangxx
 *
 */
public interface MobileAuthService {
    /** 移动端登陆
     * @param request 请求的信息
     * @return  返回结果
     * @throws ParseException 抛出解析日期的异常
     */
    LoginResponse login(LoginRequest request) throws ParseException;

    /** 更新密码操作
     * @param surveyUserCode 查勘员代码
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     * @return 返回结果
     */
    BaseResponse updatePassword(String surveyUserCode, String oldPassword, String newPassword);

    /** 注册用户
     * @param request 用户的参数
     */
    void registerSuccess(RegisterUserRequest request);

    /** 解绑用户
     * @param request 用户的参数
     */
    void cancleSuccess(RegisterUserRequest request);

    /** 登出
     * @param surveyUserCode 查勘员代码
     * @throws Exception 抛出异常 该代码未找到用户
     */
    void logout(String surveyUserCode) throws AppException;

    /** 更新用户在线时间
     * @param surveyUserCode 查勘员代码
     * @throws Exception 抛出异常 未找到用户
     */
    void userOnline(String surveyUserCode) throws AppException;
}
